- 概要
- abs
- acos
- asc
- asin
- assert
- atan
- atan2
- background
- beep
- bgmadd
- bgmplay
- bgmstate
- bgmstop
- bind$
- binding
- box
- call
- chr$
- circle
- cls
- connect$
- connected@
- connecting
- cos
- crash
- data
- datetime@
- def animation
- def background
- def pic
- direction
- disconnect
- distance
- do
- elemtype
- else
- else if
- end
- end function
- end if
- end procedure
- exit do
- exit for
- exit procedure
- fetch@
- for
- function
- hear$
- hide
- if
- include
- inkey$
- input
- left$
- len
- let
- line
- listen
- listening
- locate
- loop
- main
- mainvar
- mainvar$
- mainvar@
- max
- mid$
- min
- move
- moving
- next
- oval
- paint
- pause
- pi
- play
- point
- pow
- procedure
- pset
- put
- random
- read
- receive@
- render
- return
- right$
- roll
- round
- scr$
- send
- sgn
- show
- sin
- speak
- speed
- sprite
- sqr
- stay
- stop
- str$
- tan
- tap
- time
- touch
- truncate
- turn
- unbind
- val
- visible
- write
- xpos
- ypos
def animation
働き
アニメーションを作成します。
文法
def animation <n>, (<a>,<b>,<c>,<p1>[,<p2> …])[, …]
- n - アニメーション番号の式。
- a - キャラクタの大きさの式。0 = 16x16, 1 = 32x32
- b - 横方向反転フラグの式。0 = そのまま, 1 = 左右を逆にする。
- c - 縦方向反転フラグの式。0 = そのまま, 1 = 上下を逆にする。
- p - キャラクタを構成する PIC パターンの番号の式。a = 0 の場合は p1 のみ。a = 1 の場合は、p1〜p4 を指定する。
説明
def animation は、画面に表示したいキャラクタのアニメーションを作成します。各アニメーションは番号を持ち、一つのアニメーションは1つ以上のキャラクタを持つことができます。この def animation 命令を使って、Jasmine Tea の GUI を使って作成することができるアニメーションを、プログラムから行うことができます。
キャラクタの大きさは、16x16 ドットと、32x32 ドットの2種類があります。32x32 ドットの場合は、16x16 ドットの PIC パターン(色情報を持つ 64 個の数値です)を 4 つ組み合わせて構成します。a に 0 を書いた場合は、16x16 の PIC パターン 1 つのキャラクタが作成されます。a に 1 を書いた場合は、16x16 の PIC パターンを 4 つ使ってキャラクタが作成されます。
b と c は、横方向および縦方向に PIC パターンを反転させるかどうかを指定し ます。これを利用することで、左向きのキャラクタを右向きにすることや、正面を向いたキャラクタを逆立ちさせたキャラクタを作成することができます。
a に 0 を指定したときは、p1 に PIC パターン番号を書きます。a に 1 を指定したときは、p1(左上), p2(右上), p3(左下), p4(右下) にそれぞれ PIC パターン番号を指定します。定義済みの PIC パターン番号と対応する PIC パターンは、定義済み PIC パターンを参照してください。
作成されたアニメーションは、sprite を使ってスプライトに割り当てることができます。また、PIC パターンは def pic を使って新しく作成することができます。
サンプルプログラム
rem def animation
cls 3
def animation 0,(1,0,0,0,1,2,3),(1,1,0,1,0,3,2)
sprite 0,0,0
show 0,(300,200)
distance 0,300
move 0